package com.xl333.util;

import org.thymeleaf.util.StringUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 七月的狮子
 * @date 2020/5/20
 */
public class MysqlDataTypeUtil {

    private static Map<String, String> javaTypeMap = new HashMap();

    private static Map<String, String> jdbcTypeMap = new HashMap<>();

    static {
        javaTypeMap.put("varchar", "String");
        javaTypeMap.put("int", "Integer");
        javaTypeMap.put("decimal", "BigDecimal");
        javaTypeMap.put("text", "String");

        jdbcTypeMap.put("varchar", "VARCHAR");
        jdbcTypeMap.put("int", "INTEGER");
        jdbcTypeMap.put("decimal", "DECIMAL");
        jdbcTypeMap.put("text", "VARCHAR");
    }

    public static String getJavaType(String dataType){
        String javaType = javaTypeMap.get(dataType);
        if(StringUtils.isEmpty(javaType)){
            throw new IllegalArgumentException("数据库类型：" + dataType + "没有设置相应的java类型，请联系开发者。");
        }
        return javaType;
    }

    public static String getJdbcType(String dataType){
        String javaType = jdbcTypeMap.get(dataType);
        if(StringUtils.isEmpty(javaType)){
            throw new IllegalArgumentException("数据库类型：" + dataType + "没有设置相应的java类型，请联系开发者。");
        }
        return javaType;
    }

}
